﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ERPEF.Model
{
    //销售订单主表
    public class sal_sales_orders
    {
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public int so_id { get; set; } //序号
        public string so_code { get; set; } //销售订单编号
        public string client_head { get; set; } //客户编码
        public string so_c_property { get; set; } //客户属性
        public string? so_types { get; set; }    //产品种类

        public int? so_toNum { get; set; } //总销售数量 新增字段

        public string so_packaging { get; set; } //打包方式
        public Decimal so_amount_due { get; set; } //应付金额
        public Decimal so_to_pay { get; set; } //订单已付款
        public string client_name { get; set; } //公司名称
        public string client_phone { get; set; }    //联系人手机
        public DateTime so_sales_date { get; set; }  //销售日期
        public char so_shipment_status { get; set; } //发货状态 0：未发货 1：已发货
        public Decimal so_preferential { get; set; } //优惠金额
        public Decimal so_freight { get; set; } //订单运费
        public string employee_name { get; set; } //操作人员
        public char so_status { get; set; } //订单状态 0：未完成 1：待出库  2：已出库
        public bool IsDeleted { get; set; } = false; // 逻辑删除字段
        public string so_created_by { get; set; } //创建人
        public DateTime so_created_time { get; set; } //创建时间
        public string so_update_by { get; set; } //更新人
        public DateTime so_update_time { get; set; } //更新时间
        public bool AuditStatus { get; set; } = false;  //审核状态


        public string? auditor { get; set; } //审核人   新增字段
        public DateTime? auditTime { get; set; } //审核时间 新增字段
        public string? so_Return_status { get; set; } //退货状态 新增字段  0：未退货 1：待审核 2：已退货
        



        public List<sal_orders> sal_Orders { get; set; }
        public virtual string ToString()
        {
            if (sal_Orders != null && sal_Orders.Count > 0)
            {
                return sal_Orders.Count + " - " + sal_Orders[0].orders_product_name;
            }
            else
            {
                return base.ToString(); // 或返回其他默认值  
            }
        }
    }
}
